The present invention relates to a method and/or architecture for implementing input buffers generally and, more particularly, to a method and/or architecture for dynamically controlling the threshold voltage of an input buffer.
It is often desirable for microcontrollers, particularly those used in low-cost applications, to maximize the utility of the I/O pins. Many embedded controller applications are enhanced by having more I/O pins, or by providing more versatility within a given I/O pin. For inputs, a user typically has only a fixed threshold voltage (i.e., TTL or CMOS levels). An A/D converter function can increase the voltage-measuring capability of a pin. However, such additional functionality may add prohibitive cost to the device. Additionally, lack of flexibility and limited voltage measuring capability at a particular pin may also be disadvantageous. Multiple pins and buffers can be implemented to provide different thresholds. However, such an approach increases the overall pin count and cost of the device in which the pins are implemented.
Referring to FIG. 1, an example of a conventional input buffer 10, such as for a CMOS process, is shown. The buffer 10 has a threshold voltage that depends on the transistor characteristics and the relative sizing of the pull-up PMOS device 12 compared with the pull-down NMOS device 14. The buffer 10 is limited to a single threshold at a given voltage and temperature.
It would be desirable to implement an input buffer with a dynamically configurable threshold.
The present invention concerns a method for dynamically selecting an input threshold on an input pin comprising the steps of (A) generating one or more control signals from a user selectable register and (B) selecting the input threshold from a plurality of thresholds in response to at least one of the control signals.
The objects, features and advantages of the present invention include providing a method and/or architecture for dynamically controlling the threshold voltage of an input buffer that may (i) be implemented using a specific technology, such as CMOS or other technologies and logic families, (ii) be implemented without consuming additional power (when compared to a typical CMOS input buffer), and/or (iii) implement dynamically selectable thresholds on input buffers.